home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs19.d81
/
aquarium.arc
/
AQUARIUM
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2009-10-10
|
4KB
|
139 lines
5 ONJGOTO10,15:J=1:LOAD"AQUA BTMP",8,1
10 J=2:LOAD"AQUA SPRT",8,1
15 :
25 BASE=16384:A1=2:P1=0:GOSUB50:POKE53272,PEEK(53272)OR8
30 POKE53280,6:POKE53265,PEEK(53265)OR32
35 GOTO70
39 FORI=1024TO2023:POKEI,PEEK(I+15360):NEXTI
40 BASE=1024:A1=3:P1=16:GOSUB50:POKE53265,PEEK(53265)AND223:POKE53280,14
45 POKE54276,32:FORT=54272TO54300:POKET,0:NEXTT:END
50 POKE56578,PEEK(56578)OR3:POKE56576,(PEEK(56576)AND252)ORA1
55 POKE53272,(PEEK(53272)AND15)ORP1:POKE648,(BASE/256)
60 POKE53272,PEEK(53272)AND247
65 RETURN
70 SP=16:C=16:XX=80:YY=150:DR=1:YB=150:YD=40:BO=112:DH=0
72 POKE54296,7:POKE54277,0:POKE54278,58:POKE54272,83:POKE54273,3:POKE54276,33
75 V=53248:POKEV+21,251:POKEV+16,26
80 POKEV+28,239:POKEV+37,8:POKEV+38,0:POKEV+39,1:POKEV+40,5
81 POKEV+41,5:POKEV+42,7:POKEV+43,1:POKEV+44,9:POKEV+45,9:POKEV+46,5
82 POKEV,40:POKEV+1,50:POKEV+2,64:POKEV+3,201:POKEV+4,130:POKEV+5,194
83 POKEV+10,228:POKEV+11,180:POKEV+12,20:POKEV+13,201:POKEV+14,130:POKEV+15,194
85 POKEV+8,34:POKEV+9,YB:POKE53271,167:POKE53277,228:POKE53275,64
90 P=(PEEK(648)*256)+1024-5:POKEP,C:POKEP+1,253
95 POKEP-3,84:POKEP-2,85:POKEP-1,86:POKEP+2,85:POKEP+3,85:POKEP+4,86
100 R=INT(RND(1)*(9-1)+1):GOSUB900:IFR=R1THEN100
105 IFMID$(TI$,6,1)="1"THEN160
110 R1=R:ONRGOTO140,140,170,150,140
135 GOSUB700:GOTO100
140 GOSUB1100:GOTO100
150 XS=0:GOSUB800:GOTO100
160 GOSUB1200:GOTO100
170 GOSUB1300:GOTO100
500 IFXX>254THENXX=254
502 IFDR=2THENSP=58:TN=15:GOSUB1000:DR=1
505 POKEP,16:IFPEEK(V+16)<>26THEN520
510 FORX=XXTO0STEP-2:POKEV+6,X:GOSUB760:NEXTX:POKEV+16,18:XX=254
520 FORX=XXTO XS STEP-2:POKEV+6,X
525 GOSUB760
530 NEXTX
540 XX=X:DR=1:RETURN
600 IFXX>254THENXX=254
602 IFDR=1THENSP=42:TN=15:GOSUB1000:DR=2
605 POKEP,29:IFPEEK(V+16)=26THENXT=INT(RND(1)*(60-XX)+XX):GOTO620
607 IFXS>254THENXT=XS-254:XS=254:GOTO610
608 XT=0
610 FORX=XXTO XS STEP2:POKEV+6,X:GOSUB760:NEXTX
612 IFXT=0THEN630
615 POKEV+16,26:XX=0
620 FORX=XXTOXT STEP2:POKEV+6,X:GOSUB760:NEXTX
625 IFX>254THENX=254
630 XX=X:DR=2:RETURN
700 GOSUB780:IFXS>XXANDPEEK(V+16)=26THENXS=2*INT(RND(1)*(127-15)+15):GOTO500
705 IFXS>XXTHEN600
710 GOTO500
750 FORW=1TO6:GOSUB760:NEXTW:RETURN
755 FORJ=1TO25:NEXTJ:GOSUB900:RETURN
760 FORJ=1TO9:NEXTJ:GOSUB900:RETURN
770 GOSUB900:RETURN
780 BR=157:IFDH>1AND Y>154THENBR=127
782 XS=2*(INT(RND(1)*(BR-15)+15)):RETURN
785 IFDH>1THENBO=77
787 YS=2*(INT(RND(1)*(BO-23)+23)):RETURN
800 IFDR=2THENSP=58:TN=7:GOSUB1000:GOTO820
810 IFDR=1THENSP=42:TN=7:GOSUB1000:GOTO835
820 FORK=1TOINT(RND(1)*(6-1)+1):POKEP,50:GOSUB750:POKEP,51:GOSUB750:POKEP,50
830 POKEP,66:GOSUB750:POKEP,67:GOSUB750:POKEP,66:NEXTK
835 POKE53275,64:DH=DH-1:BO=105:IFDH<1THEN DH=0:POKEV+21,251:BO=112
840 R2=INT(RND(1)*(5-1)):ONR2 GOTO850,860,820
845 SP=50:TN=8:GOSUB1000:DR=2:GOTO700
850 SP=66:TN=8:GOSUB1000:DR=1:GOTO700
855 POKEP,75:GOSUB770:POKEP,50:RETURN
856 POKEP,77:GOSUB770:POKEP,50:RETURN
860 GOSUB785:IFYS>YYTHEN 880
870 POKEP,75:GOSUB770:POKEP,76:FORY=YY-1TO YS STEP-1:GOSUB760
873 POKEV+7,Y:GOSUB760:NEXTY:YY=YS:GOSUB855:GOTO835
880 POKEP,77:GOSUB770:POKEP,78:FORY=YY+1TO YS:GOSUB760
885 POKEV+7,Y:GOSUB760:NEXTY:YY=YS:GOSUB856:GOTO835
900 YB=YB-7:IFYB<30THENYB=155:POKEP+1,RND(1)*(256-253)+253:GOTO930
920 GOSUB970
925 POKEV+9,YB:RETURN
930 ON DD GOTO950
940 POKEV,YD:YD=YD+1:IFYD<255THENDD=0:GOTO920
950 DD=1:YD=YD-1:POKEV,YD:IFYD<30THENDD=0
960 GOTO925
970 FOR DE=1TO5:NEXTDE:RETURN
1000 REM
1010 FOR X=SPTOSP+TN:POKEP,X:GOSUB760
1020 NEXTX:RETURN
1050 REM
1060 FOR X=SPTOSP-TN STEP-1:POKEP,X:GOSUB760:NEXTX
1070 RETURN
1100 GOSUB785:IF(YS-YY)>-1THEN1125
1115 IFDR=1THENSP=17:TN=4:GOSUB1000:GOTO1125
1120 IFDR=2THENSP=30:TN=4:GOSUB1000
1125 IFXX>254THENXX=254
1130 IFYS<YYTHEN1160
1131 IFDR=2THEN1140
1132 FORY=YY+1TO YS:POKEV+7,Y:GOSUB900:XX=XX-2
1133 IFXX<2ANDPEEK(V+16)=26THENXX=254:POKEV+16,18
1134 IFXX<30ANDPEEK(V+16)=18THENXX=28
1135 POKEV+6,XX:NEXTY:GOTO1190
1140 FORY=YY+1TO YS:POKEV+7,Y:GOSUB900:XX=XX+2
1141 IFXX>253ANDPEEK(V+16)=18THENXX=0:POKEV+16,26
1142 IFXX>60ANDPEEK(V+16)=26THENXX=60
1143 POKEV+6,XX:NEXTY:GOTO1190
1160 IFDR=1THEN1170
1161 FORY=YY-1TO YS STEP-1:POKEV+7,Y:GOSUB900:XX=XX+2
1162 IFXX>253ANDPEEK(V+16)=18THENXX=0:POKEV+16,26
1163 IFXX>60ANDPEEK(V+16)=26THENXX=60
1164 POKEV+6,XX:NEXTY:DR=2:GOTO1185
1170 FORY=YY-1TO YS STEP-1:POKEV+7,Y:GOSUB900:XX=XX-2
1171 IFXX<2ANDPEEK(V+16)=26THENXX=254:POKEV+16,18
1172 IFXX<30ANDPEEK(V+16)=18THENXX=28
1173 POKEV+6,XX:NEXTY:DR=1
1185 SP=SP+4 :TN=4 :GOSUB1050
1190 YY=Y:RETURN
1200 YS=46:GOSUB1115:IFDR=2THEN1250
1210 SP=17:TN=9:GOSUB1010:FORW=1TOINT(RND(1)*(5-1)+1):SP=26:TN=2:GOSUB1010
1220 SP=28:GOSUB1060:NEXTW:SP=26:TN=9:GOSUB1060:SP=16:POKEP,SP:RETURN
1250 SP=30:TN=9:GOSUB1010:FORW=1TOINT(RND(1)*(5-1)+1):SP=39:TN=2:GOSUB1010
1260 SP=41:GOSUB1060:NEXTW:SP=39:TN=9:GOSUB1060:SP=29:POKEP,SP:RETURN
1300 :
1310 DH=DH+1:IFDH>2THEN DH=2
1320 IFDR=2THENSP=58:TN=3:GOSUB1000:POKEP,82:GOSUB760:POKEP,81:GOTO1335
1330 IFDR=1THENSP=42:TN=3:GOSUB1000:POKEP,83:GOSUB760:POKEP,80
1335 GOSUB760
1340 FORK=1TOINT(RND(1)*(6-1)+1):POKEP,79:GOSUB750:POKEP,80:GOSUB750:POKEP,79
1345 GOSUB750:POKEP,81:GOSUB750:NEXTK:POKEV+21,255
1350 BO=105:IFDH>1AND Y<200THEN:IFY<154 OR PEEK(V+16)=18THEN POKE53275,72
1360 R2=INT(RND(1)*(2)):ONR2 GOTO1380
1370 POKEP,81:GOSUB760:POKEP,82:SP=61:TN=3:GOSUB1050:DR=2:POKEP,29:RETURN
1380 POKEP,80:GOSUB760:POKEP,83:SP=45:TN=3:GOSUB1050:DR=1:POKEP,16:RETURN
20000 BASE=16384:A1=2:P1=0:GOSUB50:POKE53272,PEEK(53272)OR8
20010 POKE53280,6:POKE53265,PEEK(53265)OR32
20020 V=53248:POKEV+21,1:POKEV+16,0
20030 POKEV+28,1:POKEV+38,0:POKEV+37,8:POKEV+39,1:POKEV+1,154:POKEV,255
20040 P=(PEEK(648)*256)+1024-8
20050 INPUT" [157][157][157][157]";C:IFC<256THENPOKEP,C:GOTO20050
20060 GOTO40